package com.wh.wisdomsite.xbox.st.entity;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 出库记录实体模型
 * @package com.wh.wisdomsite.xbox.st.entity
 * @author 蔡道行
 * @version V1.0
 * @date 11:50 2018/12/24
 * @Copyright 公司版权所有
 * @Company 贵州万华科技有限公司Copyright (c) 2014
 */
@TableName("st_storeOutRecord")
public class StoreOutRecord extends Model<StoreOutRecord> {

    /**
     * PK, 出库记录ID
     */
    @TableId(type = IdType.UUID)
    private String storId;

    /**
     * FK，库存ID
     */
    @TableField("stId")
    private String stId;

    /**
     * 出库单号，系统生成
     * [
     * 规则生成定义
     * CKD（三位，代表“出库单”）
     * 对数（十位，代表“合同单”）
     * 序数（四位，代表“出库次数”）
     * 序数（四位，代表“出库记录”）
     * 合同内-入库
     * CKD_000000000001_0001_0001
     * CKD_000000000001_0001_0002
     * CKD _000000000001_0002_0001
     * CKD _000000000001_0002_0002
     * ]
     */
    @TableField("stoCode")
    private String stoCode;

    /**
     * 出库数量
     */
    @TableField("stoNum")
    private Double stoNum;

    /**
     * 当前库存剩余量
     */
    @TableField("kcSurplus")
    private Double kcSurplus;

    /**
     * 出库用途
     */
    @TableField("purpose")
    private String purpose;

    /**
     * 出库人
     */
    @TableField("pullPerson")
    private String pullPerson;

    /**
     * 同一次出库记录
     */
    @TableField("sameRecord")
    private String sameRecord;

    /**
     * 出库时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @TableField("pullDate")
    private Date pullDate;

    /**
     * 创建者
     */
    @TableField("createBy")
    private String createBy;

    /**
     * 创建时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @TableField("createDate")
    private Date createDate;

    public String getStorId() {
        return storId;
    }

    public void setStorId(String storId) {
        this.storId = storId;
    }

    public String getStId() {
        return stId;
    }

    public void setStId(String stId) {
        this.stId = stId;
    }

    public String getStoCode() {
        return stoCode;
    }

    public void setStoCode(String stoCode) {
        this.stoCode = stoCode;
    }

    public Double getStoNum() {
        return stoNum;
    }

    public void setStoNum(Double stoNum) {
        this.stoNum = stoNum;
    }

    public Double getKcSurplus() {
        return kcSurplus;
    }

    public void setKcSurplus(Double kcSurplus) {
        this.kcSurplus = kcSurplus;
    }

    public String getPurpose() {
        return purpose;
    }

    public void setPurpose(String purpose) {
        this.purpose = purpose;
    }

    public String getPullPerson() {
        return pullPerson;
    }

    public void setPullPerson(String pullPerson) {
        this.pullPerson = pullPerson;
    }

    public Date getPullDate() {
        return pullDate;
    }

    public void setPullDate(Date pullDate) {
        this.pullDate = pullDate;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public String getSameRecord() {
        return sameRecord;
    }

    public void setSameRecord(String sameRecord) {
        this.sameRecord = sameRecord;
    }

    @Override
    protected Serializable pkVal() {
        return null;
    }
}
